
package main
import (
	"github.com/koding/kite"
	"net/url"
)
//Kite之间可以互相通信，通过Kontrol的服务发现机制，一个Kite可以发现其它的Kites。
//也就是说一个Kite可以在Kontrol注册自己，从而让其它的kites能找到它；
//
//Kontrol本身也是一个Kite，它用于对服务进行注册和鉴权；Kontrol 使用 etcd 作为后端存储，
//当然，也可以用其它数据库替换，比如PostgreSQL。任何满足 kontrol.Storage接口的都可以作为后端存储。


func main() {
	k := kite.New("first", "1.0.0")
	k.Config.Port = 6000
	k.HandleFunc("square", func(r *kite.Request) (interface{}, error) {
		a := r.Args.One().MustFloat64()
		return a * a, nil
	})

	k.Register(&url.URL{Scheme: "http", Host: "localhost:6000/kite"})
	k.Run()
}
